home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / gui / triton11.lha / Triton / Demos / Source / envprint.c < prev    next >
C/C++ Source or Header  |  1994-07-14  |  10KB  |  359 lines

  1. /*
  2.  *  Triton - The object oriented GUI creation system for the Amiga
  3.  *  Written by Stefan Zeiger in 1993-1994
  4.  *
  5.  *  (c) 1993-1994 by Stefan Zeiger
  6.  *  You are hereby allowed to use this source or parts
  7.  *  of it for creating programs for AmigaOS which use the
  8.  *  Triton GUI creation system. All other rights reserved.
  9.  *
  10.  *  envprint.c - Envprint 2.0 GUI created with Triton
  11.  *
  12.  *  As you can see below, it is possible to mix the tag format with
  13.  *  the C pre-processor macro format. (Actually I was just too lazy
  14.  *  to transform the whole project definition from tags to macros ;)
  15.  *
  16.  */
  17.  
  18.  
  19. #include <stdio.h>
  20. #include <stdlib.h>
  21. #include <string.h>
  22.  
  23. #include <libraries/triton.h>
  24.  
  25. #ifdef __GNUC__
  26. #ifndef __INLINE__
  27. #include <clib/triton_protos.h>
  28. #include <clib/dos_protos.h>
  29. #else
  30. #include <inline/triton.h>
  31. #include <inline/dos.h>
  32. #endif /* __INLINE__ */
  33. #else
  34. #include <proto/triton.h>
  35. #include <proto/dos.h>
  36. #endif /* __GNUC__ */
  37.  
  38.  
  39. ProjectDefinition(main_trwintags)
  40. {
  41.   WindowID(1), WindowPosition(TRWP_CENTERDISPLAY),
  42.   WindowTitle("EnvPrint 2.0 <THIS IS ONLY A NON-FUNCTIONAL GUI DEMO>"),
  43.  
  44.   BeginMenu("Project"),
  45.     BeginSub("Load"),
  46.       SubItem("S_Load sender...",1),
  47.       SubItem("D_Load addressee...",2),
  48.       SubItem("C_Load comment...",3),
  49.     BeginSub("Save"),
  50.       SubItem("O_Load sender",4),
  51.       SubItem("E_Load addressee",5),
  52.       SubItem("M_Load comment",6),
  53.     BeginSub("Sace as"),
  54.       SubItem("U_Load sender as...",7),
  55.       SubItem("T_Load addressee as...",8),
  56.       SubItem("N_Load comment as...",9),
  57.     MenuItem("F_Delete file...",10),
  58.     ItemBarlabel,
  59.     MenuItem("P_Print...",11),
  60.     MenuItem("R_Preferences...",12),
  61.     ItemBarlabel,
  62.     MenuItem("?_About...",13),
  63.     ItemBarlabel,
  64.     MenuItem("Q_Quit",14),
  65.  
  66.   BeginMenu("Edit"),
  67.     MenuItem("W_Swap",15),
  68.     MenuItem("X_Clear",16),
  69.  
  70.   HorizGroupA,
  71.     Space,
  72.     VertGroupA,
  73.       HorizGroupEAC,
  74.         VertGroupA,
  75.  
  76.           Space,
  77.  
  78.           NamedSeparatorI("Se_nder",101),
  79.  
  80.           TROB_Space,         (ULONG) NULL,
  81.  
  82.           HorizGroup,
  83.             StringGadget(NULL,101),
  84.             HorizGroup|TRGR_FIXHORIZ,
  85.               GetEntryButtonS("_1",1101),
  86.               EndGroup,
  87.             EndGroup,
  88.  
  89.           SpaceS,
  90.  
  91.           HorizGroup,
  92.             StringGadget(NULL,102),
  93.             HorizGroup|TRGR_FIXHORIZ,
  94.               GetEntryButtonS("_2",1102),
  95.               EndGroup,
  96.             EndGroup,
  97.  
  98.           SpaceS,
  99.  
  100.           HorizGroup,
  101.             StringGadget(NULL,103),
  102.             HorizGroup|TRGR_FIXHORIZ,
  103.               GetEntryButtonS("_3",1103),
  104.               EndGroup,
  105.             EndGroup,
  106.  
  107.           TROB_Space,         (ULONG) TRST_SMALL,
  108.  
  109.           HorizGroup,
  110.             StringGadget(NULL,104),
  111.             HorizGroup|TRGR_FIXHORIZ,
  112.               GetEntryButtonS("_4",1104),
  113.               EndGroup,
  114.             EndGroup,
  115.  
  116.           TROB_Space,         (ULONG) TRST_SMALL,
  117.  
  118.           HorizGroup,
  119.             StringGadget(NULL,105),
  120.             HorizGroup|TRGR_FIXHORIZ,
  121.               GetEntryButtonS("_5",1105),
  122.               EndGroup,
  123.             EndGroup,
  124.  
  125.           TROB_Space,         (ULONG) TRST_SMALL,
  126.  
  127.           HorizGroup,
  128.             StringGadget(NULL,106),
  129.             HorizGroup|TRGR_FIXHORIZ,
  130.               GetEntryButtonS("_6",1106),
  131.               EndGroup,
  132.             EndGroup,
  133.  
  134.           TROB_Space,         (ULONG) TRST_SMALL,
  135.  
  136.           HorizGroup,
  137.             StringGadget(NULL,107),
  138.             HorizGroup|TRGR_FIXHORIZ,
  139.               GetEntryButtonS("_7",1107),
  140.               EndGroup,
  141.             EndGroup,
  142.  
  143.           TROB_Space,         (ULONG) TRST_SMALL,
  144.  
  145.           HorizGroup,
  146.             StringGadget(NULL,108),
  147.             HorizGroup|TRGR_FIXHORIZ,
  148.               GetEntryButtonS("_8",1108),
  149.               EndGroup,
  150.             EndGroup,
  151.  
  152.           TROB_Space,         (ULONG) NULL,
  153.  
  154.           TRGR_End,           (ULONG) NULL,
  155.  
  156.         TROB_Space,           (ULONG) NULL,
  157.  
  158.         TRGR_Vert,            (ULONG) TRGR_PROPSHARE|TRGR_ALIGN,
  159.  
  160.           TROB_Space,         (ULONG) NULL,
  161.  
  162.           NamedSeparatorI("Add_ressee",201),
  163.  
  164.           TROB_Space,         (ULONG) NULL,
  165.  
  166.           HorizGroup,
  167.             StringGadget(NULL,201),
  168.             HorizGroup|TRGR_FIXHORIZ,
  169.               GetEntryButtonS("_!",1201),
  170.               EndGroup,
  171.             EndGroup,
  172.  
  173.           SpaceS,
  174.  
  175.           HorizGroup,
  176.             StringGadget(NULL,202),
  177.             HorizGroup|TRGR_FIXHORIZ,
  178.               GetEntryButtonS("_\"",1202),
  179.               EndGroup,
  180.             EndGroup,
  181.  
  182.           SpaceS,
  183.  
  184.           HorizGroup,
  185.             StringGadget(NULL,203),
  186.             HorizGroup|TRGR_FIXHORIZ,
  187.               GetEntryButtonS("_§",1203),
  188.               EndGroup,
  189.             EndGroup,
  190.  
  191.           TROB_Space,         (ULONG) TRST_SMALL,
  192.  
  193.           HorizGroup,
  194.             StringGadget(NULL,204),
  195.             HorizGroup|TRGR_FIXHORIZ,
  196.               GetEntryButtonS("_$",1204),
  197.               EndGroup,
  198.             EndGroup,
  199.  
  200.           TROB_Space,         (ULONG) TRST_SMALL,
  201.  
  202.           HorizGroup,
  203.             StringGadget(NULL,205),
  204.             HorizGroup|TRGR_FIXHORIZ,
  205.               GetEntryButtonS("_\%",1205),
  206.               EndGroup,
  207.             EndGroup,
  208.  
  209.           TROB_Space,         (ULONG) TRST_SMALL,
  210.  
  211.           HorizGroup,
  212.             StringGadget(NULL,206),
  213.             HorizGroup|TRGR_FIXHORIZ,
  214.               GetEntryButtonS("_&",1206),
  215.               EndGroup,
  216.             EndGroup,
  217.  
  218.           TROB_Space,         (ULONG) TRST_SMALL,
  219.  
  220.           HorizGroup,
  221.             StringGadget(NULL,207),
  222.             HorizGroup|TRGR_FIXHORIZ,
  223.               GetEntryButtonS("_/",1207),
  224.               EndGroup,
  225.             EndGroup,
  226.  
  227.           TROB_Space,         (ULONG) TRST_SMALL,
  228.  
  229.           HorizGroup,
  230.             StringGadget(NULL,208),
  231.             HorizGroup|TRGR_FIXHORIZ,
  232.               GetEntryButtonS("_(",1208),
  233.               EndGroup,
  234.             EndGroup,
  235.  
  236.           TROB_Space,         (ULONG) NULL,
  237.  
  238.           TRGR_End,           (ULONG) NULL,
  239.  
  240.         TRGR_End,             (ULONG) NULL,
  241.  
  242.       NamedSeparatorI("Co_mment",301),
  243.  
  244.       TROB_Space,             (ULONG) NULL,
  245.  
  246.       HorizGroup,
  247.         StringGadget(NULL,301),
  248.         HorizGroup|TRGR_FIXHORIZ,
  249.           GetEntryButtonS("_0",1301),
  250.           EndGroup,
  251.         EndGroup,
  252.  
  253.       TROB_Space,             (ULONG) NULL,
  254.  
  255.       TRGR_End,               (ULONG) NULL,
  256.  
  257.     TROB_Space,               (ULONG) NULL,
  258.     TROB_Line,                (ULONG) TROF_VERT|TROF_RAISED,
  259.  
  260.     TROB_Space,               (ULONG) TRST_BIG,
  261.  
  262.     TRGR_Vert,                (ULONG) TRGR_PROPSHARE|TRGR_ALIGN|TRGR_FIXHORIZ,
  263.       TROB_Space,             (ULONG) NULL,
  264.       TRGR_Horiz,             (ULONG) TRGR_EQUALSHARE|TRGR_CENTER,
  265.         TROB_Line,            (ULONG) TROF_HORIZ,
  266.         TROB_Space,           (ULONG) NULL,
  267.         TROB_Text,            (ULONG) NULL, TRAT_Text, (ULONG) "Load", TRAT_Flags, TRTX_TITLE,
  268.         TROB_Space,           (ULONG) NULL,
  269.         TROB_Line,            (ULONG) TROF_HORIZ,
  270.         TRGR_End,             (ULONG) NULL,
  271.       TROB_Space,             (ULONG) NULL,
  272.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "_Sender...", TRAT_ID, 501,
  273.       TROB_Space,             (ULONG) TRST_SMALL,
  274.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "_Addressee...", TRAT_ID, 502,
  275.       TROB_Space,             (ULONG) TRST_SMALL,
  276.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "_Comment...", TRAT_ID, 503,
  277.       TROB_Space,             (ULONG) NULL,
  278.       TRGR_Horiz,             (ULONG) TRGR_EQUALSHARE|TRGR_CENTER,
  279.         TROB_Line,            (ULONG) TROF_HORIZ,
  280.         TROB_Space,           (ULONG) NULL,
  281.         TROB_Text,            (ULONG) NULL, TRAT_Text, (ULONG) "Save", TRAT_Flags, TRTX_TITLE,
  282.         TROB_Space,           (ULONG) NULL,
  283.         TROB_Line,            (ULONG) TROF_HORIZ,
  284.         TRGR_End,             (ULONG) NULL,
  285.       TROB_Space,             (ULONG) NULL,
  286.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "S_ender...", TRAT_ID, 504,
  287.       TROB_Space,             (ULONG) TRST_SMALL,
  288.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "A_ddressee...", TRAT_ID, 505,
  289.       TROB_Space,             (ULONG) TRST_SMALL,
  290.       TROB_Button,            (ULONG) NULL, TRAT_Text, (ULONG) "C_omment...", TRAT_ID, 506,
  291.       TROB_Space,             (ULONG) TRST_BIG,
  292.       TROB_Line,              (ULONG) TROF_HORIZ,
  293.       TROB_Space,             (ULONG) TRST_BIG,
  294.       TRGR_Horiz,             (ULONG) TRGR_EQUALSHARE,
  295.         TROB_Button,          (ULONG) NULL, TRAT_Text, (ULONG) "_Print...", TRAT_ID, 507,
  296.         TROB_Space,           (ULONG) TRST_SMALL,
  297.         TROB_Button,          (ULONG) NULL, TRAT_Text, (ULONG) "S_wap", TRAT_ID, 508,
  298.         TRGR_End,             (ULONG) NULL,
  299.       TROB_Space,             (ULONG) TRST_SMALL,
  300.       TRGR_Horiz,             (ULONG) TRGR_EQUALSHARE,
  301.         TROB_Button,          (ULONG) NULL, TRAT_Text, (ULONG) "Pre_fs...", TRAT_ID, 509,
  302.         TROB_Space,           (ULONG) TRST_SMALL,
  303.         TROB_Button,          (ULONG) NULL, TRAT_Text, (ULONG) "C_lear", TRAT_ID, 510,
  304.         TRGR_End,             (ULONG) NULL,
  305.       TROB_Space,             (ULONG) NULL,
  306.     TRGR_End,                 (ULONG) NULL,
  307.  
  308.     TROB_Space,               (ULONG) NULL,
  309.  
  310.   TRGR_End,                   (ULONG) NULL,
  311.  
  312.   TAG_END
  313. };
  314.  
  315.  
  316. VOID do_main(VOID)
  317. {
  318.   BOOL close_me=FALSE;
  319.   struct TR_Project *main_project;
  320.   struct TR_Message *trmsg;
  321.  
  322.   if(main_project=TR_OpenProject(Application,main_trwintags))
  323.   {
  324.     while(!close_me)
  325.     {
  326.       TR_Wait(Application,NULL);
  327.       while(trmsg=TR_GetMsg(Application))
  328.       {
  329.         if(trmsg->trm_Project==main_project) switch(trmsg->trm_Class)
  330.         {
  331.           case TRMS_CLOSEWINDOW:
  332.             close_me=TRUE;
  333.             break;
  334.  
  335.           case TRMS_ERROR:
  336.             puts(TR_GetErrorString(trmsg->trm_Data));
  337.             break;
  338.         }
  339.         TR_ReplyMsg(trmsg);
  340.       }
  341.     }
  342.     TR_CloseProject(main_project);
  343.   }
  344. }
  345.  
  346.  
  347. int main(void)
  348. {
  349.   if(TR_OpenTriton(TRITON11VERSION,TRCA_Name,"Envprint",TRCA_LongName,"EnvPrint GUI demo",TRCA_Version,"2.0",TAG_END))
  350.   {
  351.     do_main();
  352.     TR_CloseTriton();
  353.     return 0;
  354.   }
  355.  
  356.   puts("Can't open triton.library v2+.");
  357.   return 20;
  358. }
  359.